# Scripts & Tools Used

**Date**: 2026-07-10 09:55

## Generation Pipeline

### Step 1: Screenshot Generation
- **Script**: `logs/gen_all_assets.py`
- **Tool**: Python PIL (Pillow)
- **Output**: 8 PNG images at 1080×1920
- **Content**: Terminal emulators, CSV tables, code editor, flow diagrams

### Step 2: Dynamic Clip Generation
- **Script**: `logs/gen_clips_ffmpeg.py`
- **Tool**: ffmpeg zoompan + drawbox filters
- **Effects**: Ken Burns zoom, highlight overlays, smooth scrolling
- **Output**: 8 MP4 clips (6-8s each)

### Step 3: Final Composition
- **Script**: `logs/compose_final.py`
- **Tool**: ffmpeg concat + subtitles
- **Output**: 55s video at 1080×1920 / 30fps / H.264

## Source Materials

| File | Description |
|------|-------------|
| `fake_failed_douyin_data.csv` | 20 records, 12 missing link, 5 missing author |
| `fixed_real_candidates.csv` | 10 cleaned records with all fields |
| `top20_candidates.csv` | Top 20 ranked by interact+value score |
| `pipeline_log_failed.txt` | Pipeline output showing quality gate failure |
| `pipeline_log_success.txt` | Pipeline output showing successful run |
| `quality_gate.py` | Validation logic with REQUIRED_FIELDS + gate_score |
| `rebuild_pipeline.py` | Pipeline simulation with fail/success modes |

## Key Libraries

- Python 3.14 + Pillow
- ffmpeg 8.1.2 (zoompan, drawbox, subtitles filters)
- Windows fonts: Microsoft YaHei, SimSun
